package com.rzjm.api.util;

import com.aliyun.oss.common.comm.ServiceClient;

import javax.xml.namespace.QName;
import javax.xml.ws.EndpointReference;
import javax.xml.ws.Service;
import java.util.List;
import java.util.Map;
import java.net.URL;



public class HttpRequestUtil {

    public static void main(String[] args) {
        try {
            // 创建URL对象，用于访问WebService接口
            URL url = new URL("http://www.example.com/webservice?wsdl");

            // 创建QName对象，用于指定WebService命名空间和服务名称
            QName qName = new QName("http://www.example.com/", "HelloWorldImplService");

            // 创建Service对象，并传入URL和QName参数
            Service service = Service.create(url, qName);


            // 获取HelloWorld接口的实例对象
            HttpRequestUtil helloWorld = service.getPort(HttpRequestUtil.class);

            // 调用远程WebService接口的方法
//            String result = helloWorld.sayHello("World");
//
//            // 输出结果
//            System.out.println("WebService返回结果：" + result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }



//
//    public static Boolean call(String namespace, String url, String methodName, List<String> args, Object[] argValues,
//                               String soapHeader, Map<String, String> soap, StringBuilder result) {
//        try {
//            ServiceClient serviceClient = new ServiceClient();
//
//            EndpointReference targetEPR = new EndpointReference(url);
//            Options options = serviceClient.getOptions();
//            options.setTo(targetEPR);
//
//            OMFactory factory = OMAbstractFactory.getOMFactory();
//            OMNamespace omNamespace = factory.createOMNamespace(namespace, "");
//
//            if (!StringUtils.isBlank(soapHeader) && !soap.isEmpty()) {
//                for (Map.Entry<String, String> kv : soap.entrySet()) {
//                    OMElement headerElement = factory.createOMElement(kv.getKey(), omNamespace);
//                    headerElement.addChild(factory.createOMText(headerElement, kv.getValue()));
//                    serviceClient.addHeader(headerElement);
//                }
//            }
//
//            OMElement method = factory.createOMElement(methodName,omNamespace);
//            if (null != args && !args.isEmpty()){
//                for (int i = 0; i < args.size(); i++){
//                    OMElement value = factory.createOMElement(args.get(i), omNamespace);
//                    Object argValue = argValues[i];
//                    if(null != argValue){
//                        value.setText(argValue.toString());
//                    }
//                    method.addChild(value);
//                }
//            }
//
//            method.build();
//            OMElement response = serviceClient.sendReceive(method);
//            result.append(response.getFirstElement().getText());
//            return true;
//        } catch (Exception e) {
//            result.append("调用服务错误!" + ExceptionUtils.getMessage(e));
//            return false;
//        }
//    }

}
